
// 日志消息类
// 1.日志产生时间
// 2.日志等级
// 3.日志器名称
// 4.线程id
// 5.行号
// 6.文件名
// 7.日志信息

#ifndef __MESSAGE__
#define __MESSAGE__

#include "util.hpp"
#include "level.hpp"
#include <iostream>
#include <string>
#include <thread>

namespace log
{
    struct log_message
    {
        time_t _time;            // 日志产生时间
        log_level::level _level; // 日志等级
        std::string _name;       // 日志器名称
        std::thread::id _tid;    // 线程id
        size_t _line;            // 行号
        std::string _file;       // 源码文件名
        std::string _payload;    // 日志信息

        log_message
        (
            const log_level::level& level, 
            const std::string& name,
            const size_t line,
            const std::string& file,
            const std::string& payload
        ):
            _time(tools::get_time::_get_time()),
            _level(level),
            _name(name),
            _tid(std::this_thread::get_id()),
            _line(line),
            _file(file),
            _payload(payload)
        {}
    };
}

#endif